fun x(): Boolean { return true }

public fun foo(p: String?): Int {
    // See KT-6283
    do {
        p!!.length
        if (p == "abc") break
    } while (!x())
    // p should be smart casted despite of break
    return p.length
}